Smart Impulse Exhaustion Finder (ATR + ADX Filter)📌 Purpose
This indicator detects potential exhaustion of strong bullish or bearish impulses at fresh swing highs/lows by combining multiple price action and volatility-based filters.
🧠 How It Works
A signal is triggered only when all core conditions are satisfied:
1. Swing High/Low Detection
Current high (or low) must be the highest (or lowest) over the last Extremum Lookback bars (default: 50).
This ensures the move is significant relative to recent price action.
2. Impulse Confirmation
Price must extend by at least 1 × ATR from the previous swing point.
This filters out minor fluctuations.
3. Exhaustion Conditions (at least 2 out of 3 must be met)
RSI Extreme: RSI > Overbought Level (default: 80) for bearish signals, RSI < Oversold Level (default: 20) for bullish signals.
Volume Spike: Volume > SMA(Volume, Volume SMA Length) × Volume Spike Multiplier.
Candle Wick Rejection: Upper wick ≥ Wick Threshold % for bearish setups, Lower wick ≥ Wick Threshold % for bullish setups.
4. Trend Filter
ADX > ADX Threshold ensures the market is trending and filters out sideways conditions.
5. Candle Body Filter
Candle body must be ≥ Body Size ATR Factor × ATR.
This avoids weak signals from small candles or doji formations.
📈 How to Use
Bearish Signal:
Appears at fresh swing highs with exhaustion conditions met. Useful for tightening stops, taking partial profits, or counter-trend shorts.
Bullish Signal:
Appears at fresh swing lows with exhaustion conditions met. Useful for trailing stops, profit-taking, or counter-trend longs.
Recommended Timeframes: Works best on 1h, 4h, and Daily charts.
Markets: Crypto, Forex, Stocks — wherever volatility and trends are present.
⚙️ Inputs
RSI Length / Overbought / Oversold
Volume SMA Length & Volume Spike Multiplier
Wick Threshold %
Extremum Lookback (bars for highs/lows)
ADX Length & Threshold
Body Size ATR Factor
⚠️ Disclaimer
This script is for educational purposes only and does not constitute financial advice.
Always test thoroughly and apply proper risk management before live trading.
💡 Tip: Combine this tool with your own market context and confluence factors for higher probability setups.
Cerca negli script per "high low"
Dynamic VWAP: Fair Value & Divergence SuiteDynamic VWAP: Fair Value & Divergence Suite
Dynamic VWAP: Fair Value & Divergence Suite is a comprehensive tool for tracking contextual valuation, overextension, and potential reversal signals in trending markets. Unlike traditional VWAP that anchors to the start of a session or a fixed period, this indicator dynamically resets the VWAP anchor to the most recent swing low. This design allows you to monitor how far price has extended from the most recent significant low, helping identify zones of potential profit-taking or reversion.
Deviation bands (standard deviations above the anchored VWAP) provide a clear visual framework to assess whether price is in a fair value zone (±1σ), moderately extended (+2σ), or in zones of extreme extension (+3σ to +5σ). The indicator also highlights contextual divergence signals, including slope deceleration, weak-volume retests, and deviation failures—giving you actionable confluence around potential reversal points.
Because the anchor updates dynamically, this tool is particularly well suited for trend-following assets like BTC or stocks in sustained moves, where price rarely returns to deep negative deviation zones. For this reason, the indicator focuses on upside extension rather than symmetrical reversion to a long-term mean.
🎯 Key Features
✅ Dynamic Swing Low Anchoring
Continuously re-anchors VWAP to the most recent swing low based on your chosen lookback period.
Provides context for trend progression and overextension relative to structural lows.
✅ Standard Deviation Bands
Plots up to +5σ deviation bands to visualize levels of overextension.
Extended bands (+3σ to +5σ) can be toggled for simplicity.
✅ Conditional Zone Fills
Colored background fills show when price is inside each valuation zone.
Helps you immediately see if price is in fair value, moderately extended, or highly stretched territory.
✅ Divergence Detection
VWAP Slope Divergence: Flags when price makes a higher high but VWAP slope decelerates.
Low Volume Retest: Highlights weak re-tests of VWAP on low volume.
Deviation Failure: Identifies when price reverts back inside +1σ after closing beyond +3σ.
✅ Volume Fallback
If volume is unavailable, uses high-low range as a proxy.
✅ Highly Customizable
Adjust lookbacks, show/hide extended bands, toggle fills, and enable or disable divergences.
🛠️ How to Use
Identify Buy and Sell Zones
Price in the fair value band (±1σ) suggests equilibrium.
Reaching +2σ to +3σ signals increasing overextension and potential areas to take profits.
+4σ to +5σ zones can be used to watch for exhaustion or mean-reversion setups.
Monitor Divergence Signals
Use slope divergence and deviation failures to look for confluence with overextension.
Low volume retests can flag rallies lacking conviction.
Adapt Swing Lookback
30–50 bars: Faster re-anchoring for swing trading.
75–100 bars: More stable anchors for longer-term trends.
🧭 Best Practices
Combine the anchored VWAP with higher timeframe structure.
Confirm signals with other tools (momentum, volume profiles, or trend filters).
Use extended deviation zones as context, not as standalone signals.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any security or asset. Always do your own research and consult a qualified financial professional before making any trading decisions. Past performance does not guarantee future results.
ATRWhat the Indicator Shows:
A compact table with four cells is displayed in the bottom-left corner of the chart:
| ATR | % | Level | Lvl+ATR |
Explanation of the Columns:
ATR — The averaged daily range (volatility) calculated with filtering of abnormal bars (extremely large or small daily candles are ignored).
% — The percentage of the daily ATR that the price has already covered today (the difference between the daily Open and Close relative to ATR).
Level — A custom user-defined level set through the indicator settings.
Lvl+ATR — The sum of the daily ATR and the user-defined level. This can be used, for example, as a target or stop-loss reference.
Color Highlighting of the "%" Cell:
The background color of the "%" ATR cell changes depending on the value:
✅ If the value is less than 10% — the cell is green (market is calm, small movement).
➖ If the value is between 10% and 50% — no highlighting (average movement, no signal).
🟡 If the value is between 50% and 70% — the cell is yellow (movement is increasing, be alert).
🔴 If the value is above 70% — the cell is red (the market is actively moving, high volatility).
Key Features:
✔ All ATR calculations and percentage progress are performed strictly based on daily data, regardless of the chart's current timeframe.
✔ The indicator is ideal for intraday traders who want to monitor daily volatility levels.
✔ The table always displays up-to-date information for quick decision-making.
✔ Filtering of abnormal bars makes ATR more stable and objective.
What is Adaptive ATR in this Indicator:
Instead of the classic ATR, which simply averages the true range, this indicator uses a custom algorithm:
✅ It analyzes daily bars over the past 100 days.
✅ Calculates the range High - Low for each bar.
✅ If the bar's range deviates too much from the average (more than 1.8 times higher or lower), the bar is considered abnormal and ignored.
✅ Only "normal" bars are included in the calculation.
✅ The average range of these normal bars is the adaptive ATR.
Detailed Algorithm of the getAdaptiveATR() Function:
The function takes the number of bars to include in the calculation (for example, 5):
The average of the last 5 normal bars is calculated.
pinescript
Копировать
Редактировать
adaptiveATR = getAdaptiveATR(5)
Step-by-Step Process:
An empty array ranges is created to store the ranges.
Daily bars with indices from 1 to 100 are iterated over.
For each bar:
🔹 The daily High and Low with the required offset are loaded via request.security().
🔹 The range High - Low is calculated.
🔹 The temporary average range of the current array is calculated.
🔹 The bar is checked for abnormality (too large or too small).
🔹 If the bar is normal or it's the first bar — its range is added to the array.
Once the array accumulates the required number of bars (count), their average is calculated — this is the adaptive ATR.
If it's not possible to accumulate the required number of bars — na is returned.
Что показывает индикатор:
На графике внизу слева отображается компактная таблица из четырех ячеек:
ATR % Уровень Ур+ATR
Пояснения к столбцам:
ATR — усреднённый дневной диапазон (волатильность), рассчитанный с фильтрацией аномальных баров (слишком большие или маленькие дневные свечи игнорируются).
% — процент дневного ATR, который уже "прошла" цена на текущий день (разница между открытием и закрытием относительно ATR).
Уровень — пользовательский уровень, который задаётся вручную через настройки индикатора.
Ур+ATR — сумма уровня и дневного ATR. Может использоваться, например, как ориентир для целей или стопов.
Цветовая подсветка ячейки "%":
Цвет фона ячейки с процентом ATR меняется в зависимости от значения:
✅ Если значение меньше 10% — ячейка зелёная (рынок пока спокоен, маленькое движение).
➖ Если значение от 10% до 50% — фон не подсвечивается (среднее движение, нет сигнала).
🟡 Если значение от 50% до 70% — ячейка жёлтая (движение усиливается, повышенное внимание).
🔴 Если значение выше 70% — ячейка красная (рынок активно движется, высокая волатильность).
Особенности работы:
✔ Все расчёты ATR и процентного прохождения производятся исключительно по дневным данным, независимо от текущего таймфрейма графика.
✔ Индикатор подходит для трейдеров, которые торгуют внутри дня, но хотят ориентироваться на дневные уровни волатильности.
✔ В таблице всегда отображается актуальная информация для принятия быстрых торговых решений.
✔ Фильтрация аномальных баров делает ATR более устойчивым и объективным.
Что такое адаптивный ATR в этом индикаторе
Вместо классического ATR, который просто усредняет истинный диапазон, здесь используется собственный алгоритм:
✅ Он берет дневные бары за последние 100 дней.
✅ Для каждого из них рассчитывает диапазон High - Low.
✅ Если диапазон бара слишком сильно отличается от среднего (более чем в 1.8 раза больше или меньше), бар считается аномальным и игнорируется.
✅ Только нормальные бары попадают в расчёт.
✅ В итоге считается среднее из диапазонов этих нормальных баров — это и есть адаптивный ATR.
Подробный алгоритм функции getAdaptiveATR()
Функция принимает количество баров для расчёта (например, 5):
Считается 5 последних нормальных баров
pinescript
Копировать
Редактировать
adaptiveATR = getAdaptiveATR(5)
Пошагово:
Создаётся пустой массив ranges для хранения диапазонов.
Перебираются дневные бары с индексами от 1 до 100.
Для каждого бара:
🔹 Через request.security() подгружаются дневные High и Low с нужным смещением.
🔹 Считается диапазон High - Low.
🔹 Считается временное среднее диапазона по текущему массиву.
🔹 Проверяется, не является ли бар аномальным (слишком большой или маленький).
🔹 Если бар нормальный или это самый первый бар — его диапазон добавляется в массив.
Как только массив набирает заданное количество баров (count), берётся их среднее значение — это и есть адаптивный ATR.
Если не удалось набрать нужное количество баров — возвращается na.
Rapid Candle PATTERNS V2.0Indicator Title: Rapid Candle Patterns - High-Probability Signals
Description
Tired of noisy charts filled with weak and ambiguous candlestick patterns? The Rapid Candle Patterns indicator is engineered to solve this problem by moving beyond simple textbook definitions. It identifies only high-probability reversal and continuation signals by focusing on the underlying market dynamics: momentum, liquidity, and confirmation.
This is not just another pattern indicator; it's a professional-grade tool designed to help you spot truly significant price action events.
How The Logic Works & Why It's More Accurate
Each pattern in this script has been enhanced with stricter, more intelligent rules to filter out noise and reduce false signals. Here’s what makes our logic superior:
1. The Liquidity Grab Hammer & Inverted Hammer
Standard Logic: A simple hammer shows a long lower wick, suggesting buyers pushed the price back up.
Our Enhanced Logic: We don't just look for a hammer shape. Our signal is only valid if the hammer’s low takes out the low of the previous candle (a "liquidity grab" or "stop hunt").
Why It's More Accurate: This sequence is incredibly powerful. It shows that sellers attempted to push the market lower, triggered stop-loss orders below the prior low, and then were decisively overpowered by buyers who reversed the price. This isn't just a reversal; it's a failed breakdown, often trapping sellers and fueling a stronger move in the opposite direction.
2. The "True" Bullish & Bearish Harami
Standard Logic: A small candle forms within the high-low range of the previous candle. This can often be misleading if the prior candle has long wicks and a tiny body.
Our Enhanced Logic: We enforce a "dual containment" rule. For a Harami to be valid, its body must be contained within the body of the previous candle. We also ensure the Harami candle itself is not a Doji, meaning it must show some conviction.
Why It's More Accurate: This ensures you are seeing a genuine and significant contraction in momentum. It filters out scenarios where a large-bodied candle forms inside the wicks of a doji-like candle, which is not a true Harami. Our logic captures the "pregnant" pattern as it was intended—a moment of quiet consolidation before a potential new move.
3. The "Power" Bullish & Bearish Engulfing
Standard Logic: A candle's body engulfs the body of the previous candle. This is a common signal, but it often lacks follow-through.
Our Enhanced Logic: Our "Power Engulfing" requires two conditions: (1) The body must engulf the prior candle's body, AND (2) the candle must close beyond the entire high/low range of the prior candle.
Why It's More Accurate: This is the ultimate sign of confirmation. It doesn't just show that one side has won the battle for the session; it proves they had enough force to break the entire structure of the previous candle. This signifies immense momentum and dramatically increases the probability that the trend will continue in the direction of the engulfing candle.
4. The Quantified Doji
Our Logic: Instead of being a subjective pattern, a Doji is defined quantitatively. It's a candle whose body is less than or equal to a user-defined percentage (default 9%) of its total range.
Why It's More Accurate: It provides a consistent and objective measure of market indecision. Furthermore, any candle identified as a Doji is automatically disqualified from being a Hammer, ensuring clear and distinct signals.
User Customization
Toggle Patterns On/Off: Declutter your chart by only showing the patterns you want to see.
Fine-Tune Logic: Use the "Pattern Logic" settings to adjust the sensitivity of the Doji and Harami detectors to perfectly match your trading style, asset, and timeframe.
Disclaimer: This indicator is a powerful tool for identifying high-probability price action. However, no single indicator is a complete trading system. Always use these signals as part of a comprehensive strategy, combined with analysis of market structure, support/resistance levels, and other forms of confluence.
ICT IRL & ERL ZonesICT IRL & ERL Zones
This indicator visualizes Internal Range Liquidity (IRL) and External Range Liquidity (ERL) levels, based on ICT (Inner Circle Trader) concepts. It's designed to help traders identify key liquidity zones that often act as magnet levels or reversal points in price action.
🔍 How It Works
Lookback Range: The script analyzes the highest high and lowest low over a user-defined number of candles (default: 50).
IRL (Internal Range Liquidity):
Plots the highest high and lowest low within the lookback period.
Represented as orange lines and a shaded zone.
ERL (External Range Liquidity):
Extends the IRL boundaries by a small buffer (50 ticks above/below).
Visualizes zones where price may reach for liquidity beyond the current range.
Plotted as a green (high) and red (low) line.
⚙️ Inputs
Lookback Range: Number of candles to calculate the range (min 5).
Show IRL: Toggle visibility for Internal Range Liquidity zone.
Show ERL: Toggle visibility for External Range Liquidity buffer zone.
📊 Visual Elements
IRL High/Low: Orange lines with fill to mark the main liquidity range.
ERL High/Low: Green and red lines indicating potential liquidity sweep zones.
Zone Fill: Light orange shading to visually emphasize the IRL area.
📈 Use Case
Use this tool to:
Identify areas where price might consolidate or reverse.
Highlight likely zones of liquidity grabs before trend continuations or shifts.
Enhance entry/exit decisions based on smart money concepts.
Smarter Money Flow Divergence Detector [PhenLabs]📊 Smarter Money Flow Divergence Detector
Version: PineScript™ v6
📌 Description
SMFD was developed to help give you guys a better ability to “read” what is going on behind the scenes without directly having access to that level of data. SMFD is an enhanced divergence detection indicator that identifies money flow patterns from advanced volume analysis and price action correspondence. The detection portion of this indicator combines intelligent money flow calculations with multi timeframe volume analysis to help you see hidden accumulation and distribution phases before major price movements occur.
The indicator measures institutional trading activity by looking at volume surges, price volume dynamics, and the factors of momentum to construct an overall picture of market sentiment. It’s built to assist traders in identifying high probability entries by identifying if smart money is positioning against price action.
🚀 Points of Innovation
● Advanced Smart Money Flow algorithm with volume spike detection and large trade weighting
● Multi timeframe volume analysis for enhanced institutional activity detection
● Dynamic overbought/oversold zones that adapt to current market conditions
● Enhanced divergence detection with pivot confirmation and strength validation
● Color themes with customizable visual styling options
● Real time institutional bias tracking through accumulation/distribution analysis
🔧 Core Components
● Smart Money Flow Calculation: Combines price momentum, volume expansion, and VWAP analysis
● Institutional Bias Oscillator: Tracks accumulation/distribution patterns with volume pressure analysis
● Enhanced Divergence Engine: Detects bullish/bearish divergences with multiple confirmation factors
● Dynamic Zone Detection: Automatically adjusts overbought/oversold levels based on market volatility
● Volume Pressure Analysis: Measures buying vs selling pressure over configurable periods
● Multi factor Signal System: Generates entries with trend alignment and strength validation
🔥 Key Features
● Smart Money Flow Period: Configurable calculation period for institutional activity detection
● Volume Spike Threshold: Adjustable multiplier for detecting unusual institutional volume
● Large Trade Weight: Emphasis factor for high volume periods in flow calculations
● Pivot Detection: Customizable lookback period for accurate divergence identification
● Signal Sensitivity: Three tier system (Conservative/Medium/Aggressive) for signal generation
● Themes: Four color schemes optimized for different chart backgrounds
🎨 Visualization
● Main Oscillator: Line, Area, or Histogram display styles with dynamic color coding
● Institutional Bias Line: Real time tracking of accumulation/distribution phases
● Dynamic Zones: Adaptive overbought/oversold boundaries with gradient fills
● Divergence Lines: Automatic drawing of bullish/bearish divergence connections
● Entry Signals: Clear BUY/SELL labels with signal strength indicators
● Information Panel: Real time statistics and status updates in customizable positions
📖 Usage Guidelines
Algorithm Settings
● Smart Money Flow Period
○ Default: 20
○ Range: 5-100
○ Description: Controls the calculation period for institutional flow analysis.
Higher values provide smoother signals but reduce responsiveness to recent activity
● Volume Spike Threshold
○ Default: 1.8
○ Range: 1.0-5.0
○ Description: Multiplier for detecting unusual volume activity indicating institutional participation. Higher values require more extreme volume for detection
● Large Trade Weight
○ Default: 2.5
○ Range: 1.5-5.0
○ Description: Weight applied to high volume periods in smart money calculations. Increases emphasis on institutional sized transactions
Divergence Detection
● Pivot Detection Period
○ Default: 12
○ Range: 5-50
○ Description: Bars to analyze for pivot high/low identification.
Affects divergence accuracy and signal frequency
● Minimum Divergence Strength
○ Default: 0.25
○ Range: 0.1-1.0
○ Description: Required price change percentage for valid divergence patterns.
Higher values filter out weaker signals
✅ Best Use Cases
● Trading with intraday to daily timeframes for institutional position identification
● Confirming trend reversals when divergences align with support/resistance levels
● Entry timing in trending markets when institutional bias supports the direction
● Risk management by avoiding trades against strong institutional positioning
● Multi timeframe analysis combining short term signals with longer term bias
⚠️ Limitations
● Requires sufficient volume for accurate institutional detection in low volume markets
● Divergence signals may have false positives during highly volatile news events
● Best performance on liquid markets with consistent institutional participation
● Lagging nature of volume based calculations may delay signal generation
● Effectiveness reduced during low participation holiday periods
💡 What Makes This Unique
● Multi Factor Analysis: Combines volume, price, and momentum for comprehensive institutional detection
● Adaptive Zones: Dynamic overbought/oversold levels that adjust to market conditions
● Volume Intelligence: Advanced algorithms identify institutional sized transactions
● Professional Visualization: Multiple display styles with customizable themes
● Confirmation System: Multiple validation layers reduce false signal generation
🔬 How It Works
1. Volume Analysis Phase:
● Analyzes current volume against historical averages to identify institutional activity
● Applies multi timeframe analysis for enhanced detection accuracy
● Calculates volume pressure through buying vs selling momentum
2. Smart Money Flow Calculation:
● Combines typical price with volume weighted analysis
● Applies institutional trade weighting for high volume periods
● Generates directional flow based on price momentum and volume expansion
3. Divergence Detection Process:
● Identifies pivot highs/lows in both price and indicator values
● Validates divergence strength against minimum threshold requirements
● Confirms signals through multiple technical factors before generation
💡 Note: This indicator works best when combined with proper risk management and position sizing. The institutional bias component helps identify market sentiment shifts, while divergence signals provide specific entry opportunities. For optimal results, use on liquid markets with consistent institutional participation and combine with additional technical analysis methods.
Trapper Market Structure (HH, HL, LH, LL)This script is designed to visually identify price action market structure in real time using pivot-based logic. It highlights the key components of trend direction by labeling:
- **HH** – Higher Highs
- **HL** – Higher Lows
- **LH** – Lower Highs
- **LL** – Lower Lows
These labels help traders track evolving market conditions and spot trend continuations, breaks in structure, or potential reversals — all without guessing.
**How It Works**
The script detects local swing highs and lows based on a customizable pivot strength. Once a valid pivot is confirmed, it’s classified in context with the previous relevant pivot to determine its structural significance.
For example:
- If a pivot high is higher than the previous, it’s marked as a **HH**.
- If a pivot low is lower than the previous, it’s marked as a **LL**, and so on.
This running analysis helps traders anticipate shifts between bullish and bearish structures.
**Customizable Features**
- Adjust **Pivot Strength** to increase or reduce sensitivity (more reactive or more stable)
- Toggle **Labels** on/off for cleaner charts
- Toggle **Connecting Lines** between pivots to visualize structure flow
**Use Case**
This indicator is ideal for:
- Price action traders
- Market structure analysis
- Identifying entry zones during pullbacks (e.g., buying at HLs during uptrends)
- Confirming trend reversals or break-of-structure (BoS)
You can use this tool as a foundation for more advanced systems such as CHoCH/BOS detection, liquidity zones, or sniper-style entry frameworks.
**Concepts Used**
- Swing High/Low detection using `ta.pivothigh` and `ta.pivotlow`
- Market structure labeling logic
- Visual flow to reinforce trader psychology on trend states
Disclaimer
This script is provided for educational purposes only. It is not financial advice and should not be relied upon for trading decisions. Always conduct your own analysis and risk management.
#marketstructure #priceaction #technicalanalysis #tradingviewopen #pivotpoints
TradeJorno - Time + Price Levels
Tired of manually drawing and updating important ICT or SMC time and price levels on your charts every day?
Here’s an indicator to draw important TIME and PRICE levels automatically.
Here’s what you can highlight in realtime on your charts:
1. Previous major highs and lows
⁃ Previous daily and weekly highs and low
- Weekly dividing lines
2. Session highs/lows
⁃ Plot the high and low of Asia and London sessions.
⁃ Customise the timeframe and appearance on the chart.
- Previous session settlement price.
3. Various price levels
⁃ Pre-market opening prices : midnight, 7:30 and 8:30
⁃ Regular market opening prices: 9:30, 10:00, 14:00
- end of session settlement prices
4. Market opening range high and low
⁃ Lines extending throughout the current session
⁃ Customise the timeframe and appearance on the chart.
5. ICT Macro times
- Draw customisable vertical lines and labels to indicate the start of each ICT macro
period.
Let us know in the comments below if there’s anything else we need to add!
Previous Two Days HL + Asia H/L + 4H Vertical Lines📊 Indicator Overview
This custom TradingView indicator visually marks key market structure levels and session data on your chart using lines, labels, boxes, and vertical guides. It is designed for traders who analyze intraday and multi-session behavior — especially around the New York and Asia sessions — with a focus on 4-hour price ranges.
🔍 What the Indicator Tracks
1. Previous Two Days' Ranges (6PM–5PM NY Time)
PDH/PDL (Day 1 & Day 2): Draws horizontal lines marking the previous two trading days’ highs and lows.
Midlines: Calculates and displays the midpoint between each day’s high and low.
Color-Coded: Uses strong colors for Day 1 and more transparent versions for Day 2, to help differentiate them.
2. Asia Session High/Low (6 PM – 2 AM NY Time)
Automatically tracks the high and low during the Asia session.
Extends these levels until the following day’s NY close (4 PM).
Shows a midline of the Asia session (optional dotted line).
Highlights the Asia session background in gray.
Labels Asia High and Low on the chart for easy reference.
3. Last Closed 4-Hour Candle Range
At the start of every new 4H candle, it:
Draws a box from the last closed 4H candle.
Box spans horizontally across a set number of bars (adjustable).
Top and bottom lines indicate the high and low of that 4H candle.
Midline, 25% (Q1) and 75% (Q3) levels are also drawn inside the box using dotted lines.
Helps traders identify premium/discount zones within the previous 4H range.
4. Vertical 4H Time Markers
Draws vertical dashed lines to mark the start and end of the last 4H candle range.
Based on the standard 4H bar timing in NY (e.g. 5:00, 9:00, 13:00, 17:00).
⚙️ Inputs & Options
Line thickness, color customization for all levels.
Option to place labels on the right or left side of the chart.
Toggle for enabling/disabling the 4H box.
Adjustable box extension length (how far to extend the range visually).
✅ Ideal Use Cases
Identifying reaction zones from prior highs/lows.
Spotting reversals during Asia or NY session opens.
Trading intraday setups based on 4H structure.
Anchoring scalping or swing entries off major session levels.
Vix_Fix Enhanced MTF [Cometreon]The VIX Fix Enhanced is designed to detect market bottoms and spikes in volatility, helping traders anticipate major reversals with precision. Unlike standard VIX Fix tools, this version allows you to control the standard deviation logic, switch between chart styles, customize visual outputs, and set up advanced alerts — all with no repainting.
🧠 Logic and Calculation
This indicator is based on Larry Williams' VIX Fix and integrates features derived from community requests/advice, such as inverse VIX logic.
It calculates volatility spikes using a customizable standard deviation of the lows and compares it to a moving high to identify potential reversal points.
All moving average logic is based on Cometreon's proprietary library, ensuring accurate and optimized calculations on all 15 moving average types.
🔷 New Features and Improvements
🟩 Custom Visual Styles
Choose how you want your VIX data displayed:
Line
Step Line
Histogram
Area
Column
You can also flip the orientation (bottom-up or top-down), change the source ticker, and tailor the display to match your charting preferences.
🟩 Multi-MA Standard Deviation Calculation
Customize the standard deviation formula by selecting from 15 different moving averages:
SMA (Simple Moving Average)
EMA (Exponential Moving Average)
WMA (Weighted Moving Average)
RMA (Smoothed Moving Average)
HMA (Hull Moving Average)
JMA (Jurik Moving Average)
DEMA (Double Exponential Moving Average)
TEMA (Triple Exponential Moving Average)
LSMA (Least Squares Moving Average)
VWMA (Volume-Weighted Moving Average)
SMMA (Smoothed Moving Average)
KAMA (Kaufman’s Adaptive Moving Average)
ALMA (Arnaud Legoux Moving Average)
FRAMA (Fractal Adaptive Moving Average)
VIDYA (Variable Index Dynamic Average)
This gives you fine control over how volatility is measured and allows tuning the sensitivity for different market conditions.
🟩 Full Control Over Percentile and Deviation Conditions
You can enable or disable lines for standard deviation and percentile conditions, and define whether you want to trigger on over or under levels — adapting the indicator to your exact logic and style.
🟩 Chart Type Selection
You're no longer limited to candlestick charts! Now you can use Vix_Fix with different chart formats, including:
Candlestick
Heikin Ashi
Renko
Kagi
Line Break
Point & Figure
🟩 Multi-Timeframe Compatibility Without Repainting
Use a different timeframe from your chart with confidence. Signals remain stable and do not repaint. Perfect for spotting long-term reversal setups on lower timeframes.
🟩 Alert System Ready
Configure alerts directly from the indicator’s panel when conditions for over/under signals are met. Stay informed without needing to monitor the chart constantly.
🔷 Technical Details and Customizable Inputs
This indicator includes full control over the logic and appearance:
1️⃣ Length Deviation High - Adjusts the lookback period used to calculate the high deviation level of the VIX logic. Shorter values make it more reactive; longer values smooth out the signal.
2️⃣ Ticker - Choose a different chart type for the calculation, including Heikin Ashi, Renko, Kagi, Line Break, and Point & Figure.
3️⃣ Style VIX - Change the visual style (Line, Histogram, Column, etc.), adjust line width, and optionally invert the display (bottom-to-top).
📌 Fill zones for deviation and percentile are active only in Line and Step Line modes
4️⃣ Use Standard Deviation Up / Down - Enable the overbought and oversold zone logic based on upper and lower standard deviation bands.
5️⃣ Different Type MA (for StdDev) - Choose from 15 different moving averages to define the calculation method for standard deviation (SMA, EMA, HMA, JMA, etc.), with dedicated parameters like Phase, Sigma, and Offset for optimized responsiveness.
6️⃣ BB Length & Multiplier - Adjust the period and multiplier for the standard deviation bands, similar to how Bollinger Bands work.
7️⃣ Show StdDev Up / Down Line - Enable or disable the visibility of upper and lower standard deviation boundaries.
8️⃣ Use Percentile & Length High - Activate the percentile-based logic to detect extreme values in historical volatility using a customizable lookback length.
9️⃣ Highest % / Lowest % - Set the high and low percentile thresholds (e.g., 85 for high, 99 for low) that will be used to trigger over/under signals.
🔟 Show High / Low Percentile Line - Toggle the visual display of the percentile boundaries directly on the chart for clearer signal reference.
1️⃣1️⃣ Ticker Settings – Customize parameters for special chart types such as Renko, Heikin Ashi, Kagi, Line Break, and Point & Figure, adjusting reversal, number of lines, ATR length, etc.
1️⃣2️⃣ Timeframe – Enables using SuperTrend on a higher timeframe.
1️⃣3️⃣ Wait for Timeframe Closes -
✅ Enabled – Displays Vix_Fix smoothly with interruptions.
❌ Disabled – Displays Vix_Fix smoothly without interruptions.
☄️ If you find this indicator useful, leave a Boost to support its development!
Every feedback helps to continuously improve the tool, offering an even more effective trading experience. Share your thoughts in the comments! 🚀🔥
15Min Opening Range & Midline (UTC+2) This TradingView script draws the 15-minute Opening Range of the day based on a user-defined start time and plots the high, low, and midline of this range. It works by capturing the high and low of the first 15 minutes of the session, and then extending them for the rest of the trading day. The midline is calculated as the average of the high and low values.
Key Features:
User-configurable start time: Define the hour and minute for when the opening range should start based on your local time zone.
Line customization: Choose the color and line style (solid, dashed, dotted) for the high, low, and midline.
Easy-to-read visual representation: The high and low lines extend across the chart from the range start, with the midline placed in the center.
Dynamic updates: The indicator resets at the start of each new trading day and updates the opening range lines accordingly.
Perfect for:
Traders looking to monitor the initial market range during the first 15 minutes of trading.
Identifying key support and resistance levels based on early price action.
Providing a midline to assess market bias and potential breakouts.
Notes:
The indicator calculates everything based on the local time zone you define and automatically adjusts to your desired start time.
It will not redraw lines; once drawn, they remain on the chart until the next session.
Pin Bar Highlighter OnlyAbsolutely — here’s a full **description and breakdown** of what the script does:
---
## 📜 Script Name:
**"Pin Bar Highlighter Only"**
---
## 🎯 Purpose:
This script **detects and highlights classic pin bar reversal candles** directly on the chart — without plotting any entry, stop loss, or take profit levels.
It’s designed for traders who:
* Want to manually assess trades
* Prefer a clean chart
* Use pin bar price action as a signal for potential reversals
---
## ✅ What It Does:
* **Scans each candle** to check if it qualifies as a **bullish** or **bearish pin bar**
* If valid:
* Plots a **green triangle below** bullish pin bars
* Plots a **red triangle above** bearish pin bars
* Keeps your chart **minimal and uncluttered**
---
## 📌 How It Detects a Pin Bar:
### 🔹 1. Candle Structure:
* Measures the total candle range: `high - low`
* Calculates the **body size**: `abs(close - open)`
* Calculates the **upper and lower wick sizes**
### 🔹 2. Pin Bar Criteria:
* The **wick (nose)** must be at least **2/3 of the total candle length**
* The **body** must be small — **≤ 1/3** of the total range
* The **body** must be located at **one end** of the candle
* The wick must **pierce the high/low** of the previous candle
---
## 📍 Bullish Pin Bar Requirements:
* Close > Open (green candle)
* Lower wick ≥ 66% of candle range
* Body ≤ 33% of range
* Candle **makes a new low** (current low < previous low)
### 📍 Bearish Pin Bar Requirements:
* Close < Open (red candle)
* Upper wick ≥ 66% of candle range
* Body ≤ 33% of range
* Candle **makes a new high** (current high > previous high)
---
## 🖼️ Visual Output:
* 🔻 Red triangle **above** bearish pin bars
* 🔺 Green triangle **below** bullish pin bars
---
## 🛠️ Example Use Cases:
* Identify **reversal points** at support/resistance
* Confirm signals with **VWAP**, supply/demand zones, or AVWAP (manually plotted)
* Use in **conjunction with other strategies** — without clutter
---
ORB-HL1. Opening Range Detection
Automatically calculates the high and low of the first 15 minutes after the selected session opens.
Supported sessions:
New York (Futures): 08:30–08:45 EST
New York (Equities): 09:30–09:45 EST
London: 03:00–03:15 GMT
Asia: 19:00–19:15 JST
Plots ORB high/low lines for the rest of the day.
2. Breakout Signals
Highlights the first valid breakout above or below the ORB range on the:
5-minute timeframe
15-minute timeframe
Green arrows = breakout up (long)
Red arrows = breakout down (short)
3. 1-Minute Projection
When a breakout is confirmed on a higher timeframe (5m or 15m), a projection label (e.g., "5m", "15m") appears on the 1-minute chart.
Purple label = 5m breakout
Teal label = 15m breakout
Helps you confirm momentum in real time while on the 1-minute chart.
4. Trailing Stop System
Uses ATR to create an adaptive trailing stop after breakout.
Turns green when price is above stop (bullish), red when below (bearish).
Optional Buy / Sell signal labels appear on crossover events.
5. Session High/Low Visualization
Tracks and displays the previous session’s High and Low for:
Tokyo
London
New York
Lines extend into the current session to act as S/R reference.
Labels like "NY High", "Asia Low" are placed at the end of each line.
6. Alerts
Built-in alerts for:
First 5m or 15m breakout (long/short)
Trailing stop Buy/Sell crossover
7. Customization Options
Turn session H/L lines on/off per session
Customize projection visibility
Adjust ATR period and sensitivity
Set how far each session line extends using bar offsets
StrategyUtilsLibrary "StrategyUtils"
getHeikinAshi(open, high, low, close)
getHeikinAshi
Parameters:
open (float) : float: Raw open price
high (float) : float: Raw high price
low (float) : float: Raw low price
close (float) : float: Raw close price
Returns: tuple of haOpen, haClose, haHigh, haLow
getFibExtensions(high, low)
getFibExtensions
Parameters:
high (float) : float: Highest point before trade
low (float) : float: Lowest point before trade
Returns: tuple of extension levels
inBacktestWindow(time, start, end)
inBacktestWindow
Parameters:
time (int) : int: Current bar time
start (int) : int: Start timestamp
end (int) : int: End timestamp
Returns: bool: true if within Fbrange
getCurrentState(buy, sell)
getCurrentState
Parameters:
buy (bool) : bool: Buy signal condition
sell (bool) : bool: Sell signal condition
Returns: string: "Buy", "Sell", or "None"
formatPrice(price)
formatPrice
Parameters:
price (float) : float: Input price value
Returns: string: Formatted price string
getColorByProfit(netprofit, initial, green, red)
getColorByProfit
Parameters:
netprofit (float) : float: Strategy net profit
initial (float) : float: Initial capital
green (color) : color: Positive color
red (color) : color: Negative color
Returns: color: Display color based on PnL
Time-Based Fair Value Gaps (FVG) with Inversions (iFVG)Overview
The Time-Based Fair Value Gaps (FVG) with Inversions (iFVG) (ICT/SMT) indicator is a specialized tool designed for traders using Inner Circle Trader (ICT) methodologies. Inspired by LuxAlgo's Fair Value Gap indicator, this script introduces significant enhancements by integrating ICT principles, focusing on precise time-based FVG detection, inversion tracking, and retest signals tailored for institutional trading strategies. Unlike LuxAlgo’s general FVG approach, this indicator filters FVGs within customizable 10-minute windows aligned with ICT’s macro timeframes and incorporates ICT-specific concepts like mitigation, liquidity grabs, and session-based gap prioritization.
This tool is optimized for 1–5 minute charts, though probably best for 1 minute charts, identifying bullish and bearish FVGs, tracking their mitigation into inverted FVGs (iFVGs) as key support/resistance zones, and generating retest signals with customizable “Close” or “Wick” confirmation. Features like ATR-based filtering, optional FVG labels, mitigation removal, and session-specific FVG detection (e.g., first FVG in AM/PM sessions) make it a powerful tool for ICT traders.
Originality and Improvements
While inspired by LuxAlgo’s FVG indicator (credit to LuxAlgo for their foundational work), this script significantly extends the original concept by:
1. Time-Based FVG Detection: Unlike LuxAlgo’s continuous FVG identification, this script filters FVGs within user-defined 10-minute windows each hour (:00–:10, :10–:20, etc.), aligning with ICT’s emphasis on specific periods of institutional activity, such as hourly opens/closes or kill zones (e.g., New York 7:00–11:00 AM EST). This ensures FVGs are relevant to high-probability ICT setups.
2. Session-Specific First FVG Option: A unique feature allows traders to display only the first FVG in ICT-defined AM (9:30–10:00 AM EST) or PM (1:30–2:00 PM EST) sessions, reflecting ICT’s focus on initial market imbalances during key liquidity events.
3. ICT-Driven Mitigation and Inversion Logic: The script tracks FVG mitigation (when price closes through a gap) and converts mitigated FVGs into iFVGs, which serve as ICT-style support/resistance zones. This aligns with ICT’s view that mitigated gaps become critical reversal points, unlike LuxAlgo’s simpler gap display.
4. Customizable Retest Signals: Retest signals for iFVGs are configurable for “Close” (conservative, requiring candle body confirmation) or “Wick” (faster, using highs/lows), catering to ICT traders’ need for precise entry timing during liquidity grabs or Judas swings.
5. ATR Filtering and Mitigation Removal: An optional ATR filter ensures only significant FVGs are displayed, reducing noise, while mitigation removal declutters the chart by removing filled gaps, aligning with ICT’s principle that mitigated gaps lose relevance unless inverted.
6. Timezone and Timeframe Safeguards: A timezone offset setting aligns FVG detection with EST for ICT’s New York-centric strategies, and a timeframe warning alerts users to avoid ≥1-hour charts, ensuring accuracy in time-based filtering.
These enhancements make the script a distinct tool that builds on LuxAlgo’s foundation while offering ICT traders a tailored, high-precision solution.
How It Works
FVG Detection
FVGs are identified when a candle’s low is higher than the high of two candles prior (bullish FVG) or a candle’s high is lower than the low of two candles prior (bearish FVG). Detection is restricted to:
• User-selected 10-minute windows (e.g., :00–:10, :50–:60) to capture ICT-relevant periods like hourly transitions.
• AM/PM session first FVGs (if enabled), focusing on 9:30–10:00 AM or 1:30–2:00 PM EST for key market opens.
An optional ATR filter (default: 0.25× ATR) ensures only gaps larger than the threshold are displayed, prioritizing significant imbalances.
Mitigation and Inversion
When price closes through an FVG (e.g., below a bullish FVG’s bottom), the FVG is mitigated and becomes an iFVG, plotted as a support/resistance zone. iFVGs are critical in ICT for identifying reversal points where institutional orders accumulate.
Retest Signals
The script generates signals when price retests an iFVG:
• Close: Triggers when the candle body confirms the retest (conservative, lower noise).
• Wick: Triggers when the candle’s high/low touches the iFVG (faster, higher sensitivity). Signals are visualized with triangular markers (▲ for bullish, ▼ for bearish) and can trigger alerts.
Visualization
• FVGs: Displayed as colored boxes (green for bullish, red for bearish) with optional “Bull FVG”/“Bear FVG” labels.
• iFVGs: Shown as extended boxes with dashed midlines, limited to the user-defined number of recent zones (default: 5).
• Mitigation Removal: Mitigated FVGs/iFVGs are removed (if enabled) to keep the chart clean.
How to Use
Recommended Settings
• Timeframe: Use 1–5 minute charts for precision, avoiding ≥1-hour timeframes (a warning label appears if misconfigured).
• Time Windows: Enable :00–:10 and :50–:60 for hourly open/close FVGs, or use the “Show only 1st presented FVG” option for AM/PM session focus.
• ATR Filter: Keep enabled (multiplier 0.25–0.5) for significant gaps; disable on 1-minute charts for more FVGs during volatility.
• Signal Preference: Use “Close” for conservative entries, “Wick” for aggressive setups.
• Timezone Offset: Set to -5 for EST (or -4 for EDT) to align with ICT’s New York session.
Trading Strategy
1. Macro Timeframes: Focus on New York (7:00–11:00 AM EST) or London (2:00–5:00 AM EST) kill zones for high institutional activity.
2. FVG Entries: Trade bullish FVGs as support in uptrends or bearish FVGs as resistance in downtrends, especially in :00–:10 or :50–:60 windows.
3. iFVG Retests: Enter on retest signals (▲/▼) during liquidity grabs or Judas swings, using “Close” for confirmation or “Wick” for speed.
4. Session FVGs: Use the “Show only 1st presented FVG” option to target the first gap in AM/PM sessions, often tied to ICT’s market maker algorithms.
5. Risk Management: Combine with ICT concepts like order blocks or breaker blocks for confluence, and set stops beyond FVG/iFVG boundaries.
Alerts
Set alerts for:
• “Bullish FVG Detected”/“Bearish FVG Detected”: New FVGs in selected windows.
• “Bullish Signal”/“Bearish Signal”: iFVG retest confirmations.
Settings Description
• Show Last (1–100, default: 5): Number of recent iFVGs to display. Lower values reduce clutter.
• Show only 1st presented FVG : Limits FVGs to the first in 9:30–10:00 AM or 1:30–2:00 PM EST sessions (overrides time window checkboxes).
• Time Window Checkboxes: Enable/disable FVG detection in 10-minute windows (:00–:10, :10–:20, etc.). All enabled by default.
• Signal Preference: “Close” (default) or “Wick” for iFVG retest signals.
• Use ATR Filter: Enables ATR-based size filtering (default: true).
• ATR Multiplier (0–∞, default: 0.25): Sets FVG size threshold (higher values = larger gaps).
• Remove Mitigated FVGs: Removes filled FVGs/iFVGs (default: true).
• Show FVG Labels: Displays “Bull FVG”/“Bear FVG” labels (default: true).
• Timezone Offset (-12 to 12, default: -5): Aligns time windows with EST.
• Colors: Customize bullish (green), bearish (red), and midline (gray) colors.
Why Use This Indicator?
This indicator empowers ICT traders with a tool that goes beyond generic FVG detection, offering precise, time-filtered gaps and inversion tracking aligned with institutional trading principles. By focusing on ICT’s macro timeframes, session-specific imbalances, and customizable signal logic, it provides a clear edge for scalping, swing trading, or reversal setups in high-liquidity markets.
Auto Darvas Boxes## AUTO DARVAS BOXES
---
### OVERVIEW
**Auto Darvas Boxes** is a fully-automated, event-driven implementation of Nicolas Darvas’s 1950s box methodology.
The script tracks consolidation zones in real time, verifies that price truly “respects” those zones for a fixed validation window, then waits for the first decisive range violation to mark a directional breakout.
Every box is plotted end-to-end—from the first candle of the sideways range to the exact candle that ruptures it—giving you an on-chart, visually precise record of accumulation or distribution and the expansion that follows.
---
### HISTORICAL BACKGROUND
* Nicolas Darvas was a professional ballroom dancer who traded U.S. equities by telegram while touring the world.
* Without live news or Level II, he relied exclusively on **price** to infer institutional intent.
* His core insight: true market-moving entities leave footprints in the form of tight ranges; once their buying (or selling) is complete, price erupts out of the “box.”
* Darvas’s original procedure was manual—he kept notebooks, drew rectangles around highs and lows, and entered only when price punched out of the roof of a valid box.
* This indicator distills that logic into a rolling, self-resetting state machine so you never miss a box or breakout on any timeframe.
---
### ALGORITHM DETAIL (FOUR-STATE MACHINE)
**STATE 0 – RANGE DEFINITION**
• Examine the last *N* candles (default 7).
• Record `rangeHigh = highest(high, N) + tolerance`.
• Record `rangeLow = lowest(low, N) – tolerance`.
• Remember the index of the earliest bar in this window (`startBar`).
• Immediately transition to STATE 1.
**STATE 1 – RANGE VALIDATION**
• Observe the next *N* candles (again default 7).
• If **any** candle prints `high > rangeHigh` or `low < rangeLow`, the validation fails and the engine resets to STATE 0 **beginning at the violating candle**—no halfway boxes, no overlap.
• If all *N* candles remain inside the range, the box becomes **armed** and we transition to STATE 2.
**STATE 2 – ARMED (LIVE VISUAL FEEDBACK)**
• Draw a **green horizontal line** at `rangeHigh`.
• Draw a **red horizontal line** at `rangeLow`.
• Lines are extended in real time so the user can see the “live” Darvas ceiling and floor.
• Engine waits indefinitely for a breakout candle:
– **Up-Breakout** if `high > rangeHigh`.
– **Down-Breakout** if `low < rangeLow`.
**STATE 3 – BREAKOUT & COOLDOWN**
• Upon breakout the script:
1. Deletes the live range lines.
2. Draws a **filled rectangle (box)** from `startBar` to the breakout bar.
◦ **Green fill** when price exits above the ceiling.
◦ **Red fill** when price exits below the floor.
3. Optionally prints two labels at the left edge of the box:
◦ Dollar distance = `rangeHigh − rangeLow`.
◦ Percentage distance = `(rangeHigh − rangeLow) / rangeLow × 100 %`.
• After painting, the script waits a **user-defined cooldown** (default = 7 bars) before reverting to STATE 0. The cooldown guarantees separation between consecutive tests and prevents overlapping rectangles.
---
### INPUT PARAMETERS (ALL ADJUSTABLE FROM THE SETTINGS PANEL)
* **BARS TO DEFINE RANGE** – Number of candles used for both the definition and validation windows. Classic Darvas logic uses 7 but feel free to raise it on higher timeframes or volatile instruments.
* **OPTIONAL TOLERANCE** – Absolute price buffer added above the ceiling and below the floor. Use a small tolerance to ignore single-tick spikes or data-feed noise.
* **COOLDOWN BARS AFTER BREAKOUT** – How long the engine pauses before hunting for the next consolidation. Setting this equal to the range length produces non-overlapping, evenly spaced boxes.
* **SHOW BOX DISTANCE LABELS** – Toggle on/off. When on, each completed box displays its vertical size in both dollars and percentage, anchored at the box’s left edge.
---
### REAL-TIME VISUALISATION
* During the **armed** phase you see two extended, colour-coded guide-lines showing the exact high/low that must hold.
* When the breakout finally occurs, those lines vanish and the rectangle instantly appears, coloured to match the breakout direction.
* This immediate visual feedback turns any chart into a live Darvas tape—no manual drawing, no lag.
---
### PRACTICAL USE-CASES & BEST-PRACTICE WORKFLOWS
* **INTRADAY MOMENTUM** – Drop the script on 1- to 15-minute charts to catch tight coils before they explode. The coloured box marks the precise origin of the expansion; stops can sit just inside the opposite side of the box.
* **SWING & POSITION TRADING** – On 4-hour or daily charts, boxes often correspond to accumulation bases or volatility squeezes. Waiting for the box-validated breakout filters many false signals.
* **MEAN-REVERSION OR “FADE” STRATEGIES** – If a breakout immediately fails and price re-enters the box, you may have trapped momentum traders; fading that failure can be lucrative.
* **RISK MANAGEMENT** – Box extremes provide objective, structure-based stop levels rather than arbitrary ATR multiples.
* **BACK-TEST RESEARCH** – Because each box is plotted from first range candle to breakout candle, you can programmatically measure hold time, range height, and post-breakout expectancy for any asset.
---
### CUSTOMISATION IDEAS FOR POWER USERS
* **VOLATILITY-ADAPTIVE WINDOW** – Replace the fixed 7-bar length with a dynamic value tied to ATR percentile so the consolidation window stretches or compresses with volatility.
* **MULTI-TIMEFRAME LOGIC** – Only arm a 5-minute box if the 1-hour trend is aligned.
* **STRATEGY WRAPPER** – Convert the indicator to a full `strategy{}` script, automate entries on breakouts, and benchmark performance across assets.
* **ALERTS** – Create TradingView alerts on both up-breakout and down-breakout conditions; route them to webhook for broker automation.
---
### FINAL THOUGHTS
**Auto Darvas Boxes** packages one of the market’s oldest yet still potent price-action frameworks into a modern, self-resetting indicator. Whether you trade equities, futures, crypto, or forex, the script highlights genuine contraction-expansion sequences—Darvas’s original “boxes”—with zero manual effort, letting you focus solely on execution and risk.
Alpha Beta Gamma with Volume CandleAlpha Beta Gamma with Volume Candle
This Pine Script indicator analyzes price dynamics and volume activity to assist traders in identifying momentum, reversals, and key price levels. It calculates three proprietary metrics—Alpha, Beta, and Gamma—based on a user-selected price type (e.g., Open, Close, HL2) and timeframe, using a lookback period (default 37 bars). These metrics normalize price movements relative to the range of highs and lows, helping traders gauge market strength and positioning.
How It Works:
Alpha: Measures the distance of the selected price from the lowest price over the lookback period, normalized by the period length.
Beta: Represents the full price range (high minus low) over the lookback period, scaled by the period length.
Gamma: Normalizes the price’s position within the high-low range, providing a 0–1 scale for relative positioning.
Volume Analysis: The script classifies candles based on volume thresholds relative to a simple moving average (SMA, default 400 bars). High volume (≥ 2x SMA), low volume (≤ 0.5x SMA), and strong signal volume (≥ 1.5x SMA) trigger distinct candle colors to highlight bullish (e.g., deep blue, violet) or bearish (e.g., aqua, pink) conditions.
Custom Bands: Nine horizontal levels (0 to 1, divided into eight equal parts) act as dynamic support/resistance zones, useful for grid-based trading or breakout strategies.
How to Use:
Inputs:
Chart Timeframe: Select the timeframe for price data (e.g., 1H, 1D).
Price Type: Choose the price metric (e.g., Close, HL2) for calculations.
ABG Length: Adjust the lookback period (default 37) for sensitivity.
Volume MA Length: Set the SMA period for volume analysis (default 400).
Volume Thresholds: Customize high, low, and strong volume multipliers.
Visual Settings: Toggle labels, custom bands, and table display; adjust line styles, label sizes, and table positions.
Interpretation:
Use Alpha, Beta, and Gamma plots to assess price momentum and range dynamics.
Monitor colored candles for volume-driven signals (e.g., violet for strong bullish volume).
Leverage custom bands for support/resistance or breakout trading.
Check the table for real-time ABG values and percentage changes.
Settings Tips:
For scalping, reduce the ABG Length (e.g., 20) and use a shorter timeframe (e.g., 5M).
For swing trading, increase the Volume MA Length (e.g., 600) for more stable volume signals.
Enable labels and custom bands for visual clarity on key levels.
This indicator is versatile for various trading styles, combining price-based metrics with volume analysis to enhance decision-making.
Highest/Lowest Range in TimeframeThis script helps traders visually identify the highest high and lowest low within a customizable range of recent bars.
🔍 Key Features
Scans the last 100 to 1000 bars (user-defined)
Automatically detects:
The highest wick (high) and lowest wick (low)
Draws dotted green horizontal lines at both levels
Shows a label indicating the percentage range between high and low
Displays real-time high and low price labels directly on the chart
⚙️ Use Cases
Quickly spot price extremes over your desired time window
Visually measure market range and volatility
Identify breakout potential or reversal zones
✅ How to Use
Add the script to your chart.
Set the “Bars to Scan” input to your desired lookback period (between 100–1000).
Use the displayed lines and labels to identify key high/low price levels and range metrics.
ICT SMC Liquidity Grabs and OBsICT SMC Liquidity Grabs + Order Blocks + Fibonacci OTE Levels
A High-Probability Entry Engine for Smart Money Concept Traders
This script combines three powerful Smart Money Concepts (SMC) into a single tool: Liquidity Grabs, Order Block Zones, and Fibonacci OTE Levels, allowing traders to identify institutional entry models with clean, rule-based visual signals.
It’s designed to simplify SMC trading by highlighting confluence zones where price is likely to reverse or continue — with clear visual zones, entry arrows, and take profit projections.
🔍 What This Script Does:
Detects Liquidity Grabs
Identifies when price sweeps above/below the highest high or lowest low within a user-defined lookback period and closes back inside.
Plots orange labels on the chart to signal potential liquidity events (LG-H / LG-L).
Plots Order Blocks After Liquidity Grabs
After a liquidity grab, the script looks for displacement candles (strong bullish or bearish moves) and draws highlighted OB zones extending several bars to the right.
These zones represent potential institutional footprints for price reversals.
Draws Fibonacci OTE Levels (Optimal Trade Entry)
Uses recent swing high and low pivots to automatically calculate OTE zones (default: 62% and 75% retracement levels).
Draws these retracement zones for both bullish and bearish setups.
Marks Valid OTE Entry Zones
Buy/Sell zones only trigger when:
A liquidity grab occurs,
Price enters the OTE zone,
And a strong confirming candle is present.
Plots green/red arrows for valid buy/sell OTE entries.
Auto-Draws Take Profit Zones
TP1 = Previous swing high/low
TP2 = Risk-based R-multiplied extension (e.g., 1.5R — customizable)
Alerts
Triggers alerts when valid buy or sell OTE setups are detected.
⚙️ Customization Features:
Toggle each feature: Liquidity Grabs, Order Blocks, Fibonacci OTE levels
Set Fibonacci retracement percentages (e.g., 0.62 / 0.75)
Adjust lookback window for liquidity detection
Customize the take-profit multiplier (R-based)
Full control over visuals: colors, labels, and lines
💡 How to Use:
Use this script to scan for high-confluence trade setups based on Smart Money principles.
Combine with session timing (e.g., New York open), major swing structure, or Kill Zone windows for maximum edge.
Look for arrows inside OB zones or OTE levels following liquidity sweeps for cleaner entries.
🔗 Works Best With:
✅ First FVG — Opening Range Fair Value Gap Detector: Identify early inefficiencies to set the narrative for the day.
✅ Liquidity Levels — Smart Swing Lows: Spot key structural lows that can fuel stop hunts and reversals.
✅ ICT Turtle Soup — Liquidity Reversal: Add a classic reversal pattern to your toolkit to catch fakeouts cleanly.
Together, these tools build a complete Smart Money ecosystem for entry precision, risk management, and price behavior forecasting.
ICT Turtle Soup (Liquidity Reversal)ICT Turtle Soup — Liquidity Reversal Detection
Classic Liquidity Trap Reversal Strategy for Smart Money Traders
This indicator implements the ICT Turtle Soup concept — a classic liquidity-based reversal pattern — which occurs when price runs above or below a recent swing level to grab liquidity, then sharply reverses. This pattern is commonly used in Smart Money Concepts (SMC) and Inner Circle Trader (ICT) strategies to anticipate false breakouts and high-probability reversals.
🔍 What This Script Does:
Identifies Swing Highs & Lows
Detects recent swing highs and lows using a customizable lookback period.
Tracks Liquidity Grabs
A bearish Turtle Soup setup is triggered when price breaks above a recent swing high but closes back below it.
A bullish Turtle Soup setup is triggered when price breaks below a recent swing low but closes back above it.
These conditions often signal liquidity traps, where price sweeps resting orders before reversing.
Plots Signals Directly on the Chart
Turtle Soup setups are marked with 🐢🔻 (bearish) and 🐢🔺 (bullish) labels.
Optional full-text labels can also be displayed for clarity and journaling.
Includes Alert Conditions
Alerts can be enabled to notify you of bullish or bearish Turtle Soup reversals in real-time.
⚙️ Customization Features:
Adjustable swing lookback period
Enable/disable Turtle Soup labels
Set label font size
Choose your preferred bullish/bearish signal colors
💡 How to Use:
Add this script to your chart (ideally on intraday timeframes such as 5m–15m).
Wait for a Turtle Soup signal near a key swing high/low or liquidity zone.
Combine with other confirmation tools (e.g., FVGs, Order Blocks, OTE) for stronger setups.
Use alerts to stay ahead of fast-moving reversals.
🧠 Why It Works:
Turtle Soup setups are rooted in liquidity theory — they exploit the market’s tendency to sweep obvious swing levels before reversing. These moves often trap retail traders and mark the beginning of Smart Money entries.
🔗 Best Used With:
Maximize the edge by combining this with other SMC tools:
✅ First FVG — Opening Range Fair Value Gap Detector
✅ ICT SMC Liquidity Grabs + OB + Fibonacci OTE Levels
✅ Liquidity Levels — Smart Swing Lows
Together, they create a complete ecosystem for identifying, confirming, and executing liquidity-driven trade setups with precision.
Bull Bear Pivot by RawstocksThe "Bull Bear Pivot" indicator is a custom Pine Script (v5) tool designed for TradingView to assist traders in identifying key price levels and pivot points on intraday charts (up to 1-hour timeframes). It combines time-based open price markers, pivot high/low detection, and candlestick visualization to provide a comprehensive view of potential support, resistance, and trend reversal levels. Below is a detailed description of the indicator’s functionality, features, and intended use.
Indicator Overview:
The "Bull Bear Pivot" indicator is tailored for intraday trading, focusing on specific times of the day to mark significant price levels (open prices) and detect pivot points. It plots horizontal lines at the open prices of user-defined sessions, identifies pivot highs and lows on the current chart timeframe, and overlays custom candlesticks to highlight price action. The indicator is designed to work on timeframes of 1 hour or less (e.g., 1-minute, 3-minute, 5-minute, 15-minute, 30-minute, 60-minute) and includes a warning mechanism for invalid timeframes.
Key Features:
Time-Based Open Price Markers:
The indicator allows users to define up to five time-based sessions (e.g., 4:00 AM, 8:30 AM, 9:30 AM, 10:00 AM, and a custom time) to capture the open price at the start of each session.
For each session, it plots a horizontal line at the 1-minute open price, extending from the session start to the market close at 4:00 PM EST.
Each line is accompanied by a label positioned 5 bars to the right of the market close (4:00 PM EST), with the text right-aligned and vertically centered on the line.
Users can enable/disable each marker, customize the session time, label text, line color, and text color via the indicator’s settings.
Pivot Highs and Lows:
The indicator calculates pivot highs and lows on the current chart timeframe using the ta.pivothigh and ta.pivotlow functions.
Pivot highs are marked with green triangles above the bars, and pivot lows are marked with red triangles below the bars.
The pivot period (lookback/lookforward) is user-configurable, allowing flexibility in detecting short-term or longer-term reversals.
Custom Candlesticks:
The indicator overlays custom candlesticks on the chart, colored green for bullish candles (close > open) and red for bearish candles (close < open).
This feature helps visualize price action alongside the open price markers and pivot points.
Timeframe Restriction:
The indicator is designed to work on timeframes of 1 hour or less. If the chart timeframe exceeds 1 hour (e.g., 4-hour, daily), a warning label ("Timeframe > 1H\nIndicator Disabled") is displayed, and no elements are plotted.
Customizable Appearance:
Users can customize the appearance of the open price marker lines, including the line style (solid, dashed, dotted) and line width.
Labels for the open price markers have no background (transparent) and use customizable text colors.
Key LevelsI couldn't find an indicator that plotted previous day and intraday key levels like I wanted.
This indicator plots key levels on the chart:
Current session high (HOD) and low (LOD)
Previous day high (PDH), low (PDL), and close (PDC)
Overnight high (ONH) and low (ONL) based on a defined overnight window
At the start of a new session (day), the indicator resets its values and creates a new set of labels.
These labels are positioned in a fixed horizontal column (offset from the current bar) and are updated each bar so that they remain vertically aligned with their corresponding level (with a small vertical offset).
Inputs you can modify:
Futures Mode and session times for equities and futures.
Horizontal label offset (in bars) and vertical offset (price units) for label positioning.
Colors, line widths, and styles for each level (day high, day low, overnight high/low, previous day levels).
Adjust these inputs to match your market hours and desired appearance.
Zero background in coding, but worked with chatGPT to develop this, and it works for me. Would welcome any and all feedback.
ootaLibrary "oota"
Collection of all custom and enhanced TA indicators - Object oriented methods implementation
method tr(c, useTrueRange)
returns true range of the candle
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc data
useTrueRange (bool) : Use true range for atr calculation instead of just high/low difference
method ma(maType, length, source)
returns custom moving averages
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
source (float) : Moving Average Source
Returns: moving average for the given type and length
method atr(maType, length, useTrueRange, c)
returns ATR with custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
useTrueRange (bool) : Use true range for atr calculation instead of just high/low difference
c (Candle) : Candle object containing ohlc
Returns: ATR for the given moving average type and length
method atrpercent(maType, length, useTrueRange, c)
returns ATR as percentage of close price
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
useTrueRange (bool) : Use true range for atr calculation instead of just high/low difference
c (Candle) : Candle object containing ohlc
Returns: ATR as percentage of close price for the given moving average type and length
method bb(maType, length, multiplier, sticky, c)
returns Bollinger band for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Bollinger band with custom moving average for given source, length and multiplier
method bbw(maType, length, multiplier, sticky, c)
returns Bollinger bandwidth for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Bollinger Bandwidth for custom moving average for given source, length and multiplier
method bpercentb(maType, length, multiplier, sticky, c)
returns Bollinger Percent B for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Bollinger Percent B for custom moving average for given source, length and multiplier
method kc(maType, length, multiplier, useTrueRange, sticky, c)
returns Keltner Channel for custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Keltner Channel for custom moving average for given souce, length and multiplier
method kcw(maType, length, multiplier, useTrueRange, sticky, c)
returns Keltner Channel Width with custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Keltner Channel Width for custom moving average
method kpercentk(maType, length, multiplier, useTrueRange, sticky, c)
returns Keltner Channel Percent K Width with custom moving average
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom series type
length (simple int) : Moving Average Length
multiplier (float) : Standard Deviation multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
c (Candle) : Candle object containing ohlc
Returns: Keltner Percent K for given moving average, source, length and multiplier
method dc(c, length, sticky)
returns Custom Donchian Channel
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc
length (simple int) : - donchian channel length
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel
method dcw(c, length, sticky)
returns Donchian Channel Width
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc
length (simple int) : - donchian channel length
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel width
method dpercentd(c, length, sticky)
returns Donchian Channel Percent of price
Namespace types: Candle
Parameters:
c (Candle) : Candle object containing ohlc
length (simple int) : - donchian channel length
sticky (simple bool) : - sticky boundaries which will only change when value is outside boundary.
Returns: Donchian channel Percent D
method supertrend(maType, length, multiplier, useTrueRange, waitForClose, delayed, c)
supertrend Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Namespace types: simple CustomSeries
Parameters:
maType (simple CustomSeries) : Custom Series
length (simple int) : ATR Length
multiplier (simple float) : ATR Multiplier
useTrueRange (simple bool) : - if set to false, uses high-low.
waitForClose (simple bool) : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
delayed (simple bool) : : if set to true lags supertrend atr stop based on target levels.
c (Candle) : Candle object containing ohlc
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
method oscillatorRange(seriesType, source, highlowLength, rangeLength, sticky)
oscillatorRange - returns Custom overbought/oversold areas for an oscillator input
Namespace types: simple CustomSeries
Parameters:
seriesType (simple CustomSeries) : - Custom series type
source (float) : - Osillator source such as RSI, COG etc.
highlowLength (simple int) : - length on which highlow of the oscillator is calculated
rangeLength (simple int) : - length used for calculating oversold/overbought range - usually same as oscillator length
sticky (simple bool) : - overbought, oversold levels won't change unless crossed
Returns: Dynamic overbought and oversold range for oscillator input
method oscillator(oscillatorType, length, shortLength, longLength, c)
oscillator - returns Choice of oscillator with custom overbought/oversold range
Namespace types: simple OscillatorType
Parameters:
oscillatorType (simple OscillatorType) : OscillatorType object
length (simple int) : - Oscillator length - not used for TSI
shortLength (simple int) : - shortLength only used for TSI
longLength (simple int) : - longLength only used for TSI
c (Candle) : Candle object containing ohlc
Returns: Oscillator value
method oscillatorWithRange(oscillatorType, length, shortLength, longLength, seriesType, highlowLength, sticky, c)
oscillatorWithRange - returns Choice of oscillator with custom overbought/oversold range
Namespace types: simple OscillatorType
Parameters:
oscillatorType (simple OscillatorType) : OscillatorType object
length (simple int) : - Oscillator length - not used for TSI
shortLength (simple int) : - shortLength only used for TSI
longLength (simple int) : - longLength only used for TSI
seriesType (simple CustomSeries) : - CustomSeries enum type
highlowLength (simple int) : - length on which highlow of the oscillator is calculated
sticky (simple bool) : - overbought, oversold levels won't change unless crossed
c (Candle) : Candle object containing ohlc
Returns: Oscillator value along with dynamic overbought and oversold range for oscillator input
Candle
Custom candle object
Fields:
o (series float) : open
h (series float) : high
l (series float) : low
c (series float) : close
barindex (series int) : bar_index
bartime (series int) : time
bartimeclose (series int) : time_close
v (series float) : volume